package cn.zyq.charging.cost.pojo;

import cn.zyq.charging.common.pojo.param.ChargingProcessParam;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 充电数据： 用来给CostServiceImpl类中的Map集合充当value， 保存一个订单的充电信息(每次同步充电信息后都会更新Map集合中的key-value)
 *      *   次数 度数 价格
 *      *   1次 10   20    11:00 高峰 2块钱
 *      *   2次 20   40    12:00 低峰 1块钱
 *      *   3次 29   58    13:00 高峰 2块钱
 *      *   4次 40   80    14:00 低峰 1块钱
 */
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ChargingData {

    /**
     * 订单编号
     */
    String orderNo;

    /**
     * 用户id
     */
    Integer userId;

    /**
     * 枪id
     */
    Integer gunId;

    /**
     * 总金额
     * 20.32 如何用long来表示 20.321 * 1000 = 20321
     */
    BigDecimal totalCost;

    /**
     * 充电度数
     */
    float chargingCapacity;

    /**
     * 总度数
     */
    float totalCapacity;

    /**
     * 每度电的费用
     */
    BigDecimal currentOneFee;

    /**
     * 充电开始时间
     */
    LocalDateTime startTime;

    /**
     * 保存最后一次充电的入参(同步的充电进度数据) //讲师的这个成员变量名叫lastChargingProcessProcess
     */
    ChargingProcessParam lastChargingProcessParam;

}
